/**
 * axios的基本api
 * // 发送 POST 请求
 * axios({
 *  method: 'post',
 *  url: '/user/12345',
 *  data: {
 *    firstName: 'Fred',
 *    lastName: 'Flintstone'
 *  }
 *});
 *
 */

import axios from 'axios'
import store from '@/store'

// 创建axios实例
const request = axios.create({
    // axios中请求配置有baseURL选项，表示请求URL公共部分
    //这里将前端ui与后端配置一致
    baseURL: 'http://localhost:80/admin/',
    // 超时
    timeout: 20000,
    // 设置Content-Type，规定了前后端的交互使用json
    headers: {'Content-Type': 'application/json;charset=utf-8'}
})

request.interceptors.request.use(function (config) {
        //在发送请求前做什么
        if (store.state.user.token) {
            //一般来说会取名为Authorization，也可以取其它的
            //注意，这里的user不能去掉，指定义模块，我去掉后失败
            config.headers['Authorization'] = store.state.user.token

            //这里是为了解决过滤器获取username来拼成头去redis里面查询
            config.headers['username'] = store.state.user.username
        }
        return config;

    }, function (error) {
        //对请求错误做些什么
        return Promise.reject(error);
    }
);

export default request